<?php

namespace Common;

use function PHPSTORM_META\type;

/**
 * 模型基类
 *  创建模型的基本控制类
 *
 *
 * @author	夏立军
 * @email	m17269@163.com
 * @time	2020年11月16日 13:17:36
 */
class Model
{
    protected $observers = array();

    public function __construct()
    {
        $name = strtolower(str_replace('App\Model\\', '', get_class($this)));
        $observers_class = APP::getInstance()->config['model'][$name]['observer'];
        if (!empty($observers_class)) {
            foreach ($observers_class as $class) {
                $this->observers[] = new $class;
            }
        }
    }
    
    // 通知所有观察者类的方法
    public function notify($event = null)
    {
        foreach ($this->observers as $observer) {
            $observer->update($event);
        }
    }
}
